ECMAScript(簡稱 ES) 是一個用來標準化 JavaScript 語言的規範,它的第一個版本(ES1)在 1997 年釋出,並在之後幾年陸續都有釋出新版本,而最廣為人知的就是 2015 年的 ES6 版本。而直到今年最新的版本為 ECMAScript 2023(ES14)。不過今天不是要講它的發展史,而是重點選出今年之前各版更新了那些語法。
ES1 ~ ES5
- ECMAScript 1(1997年)
- 基本語法:變數、資料型別、運算符等基本語法
- 控制結構:條件語句、迴圈等基本控制結構
- ECMAScript 2(1998年)
- ECMAScript 3(1999年)
- 引入了正規表達式
- 新的數字和字串方法
- try/catch 錯誤處理機制
- ECMAScript 4(未釋出)
- ECMAScript 5(2009年)
- 新增嚴格模式(strict mode)
- 新的陣列方法(例如
forEach
、map
、filter
)
- 支援 JSON
ECMAScript 6 (2015年)
- 用 let 和 const 來宣告變數
- 類別(
class
)和模塊(module
)
- 箭頭函式
- Promise
- 解構賦值(Destructuring assignment)
- 展開運算子
- 樣板字面值(Template literals)
- 物件的屬性簡寫
ECMAScript 7(2016年)
- 新的陣列方法
.includes()
- 指數運算子
**
。
ECMAScript 8(2017年)
- 新的物件方法
Object.values()
和 Object.entries()
- 新的字串方法
padStart()
和 padEnd()
- 非同步函式的
async/await
ECMAScript 9(2018年)
- 新的Object spread operator 語法
- 新的正規表達式特性
ECMAScript 10(2019年)
- 新的陣列方法
flat()
和 flatMap()
- 新的字串方法
trimStart()
和 trimEnd()
ECMAScript 11(2020年)
- 可選鏈(Optional chaining)
?
- 空值合併運算子(Nullish coalescing Operator)
??
- BigInt 資料型別
- 可透過 globalThis 獲得全域物件
ES12 ~ ES13(2021年 ~ 2022 年)
- 新的字串方法
replaceAll()
- Promise.any
- 私有 class 方法
- 新的物件方法 Object.hasOwnProperty()
以上只是節錄 ECMAScript 各版本出現的重點,實際上想要完整知道更新內容還是推薦直接去看文件。那麼今天就到這邊,最後一天見。